In [1]:
import os
import json
from cog_analysis import analyze_session
from natsort import natsorted
summary = []
base_dir = "../Data_Sailnjord/Straight_lines"
# Scan de tous les dossiers de date
for date_folder in sorted(os.listdir(base_dir)):
date_path = os.path.join(base_dir, date_folder)
# Scan de tous les runs dans chaque dossier de date
for run_folder in natsorted(os.listdir(date_path)):
run_path = os.path.join(date_path, run_folder)
# Cherche 2 fichiers .csv
csv_files = [f for f in os.listdir(run_path) if f.endswith(".csv")]
if len(csv_files) != 2:
print(f"Ignoré: {run_path} (attendu 2 CSV, trouvé {len(csv_files)})")
continue
csv_paths = [os.path.join(run_path, f) for f in csv_files]
print(f"Analyse: {csv_files[0]} et {csv_files[1]} dans {run_path}")
try:
longest_intervals = analyze_session(csv_paths[0], csv_paths[1])
summary.append({
"run": run_folder,
"intervals": longest_intervals
})
except Exception as e:
print(f"Erreur dans {run_path} : {e}")
# Sauvegarde du résumé (tout est reconstruit à chaque fois)
summary_file = "summary.json"
with open(summary_file, "w") as f:
json.dump(summary, f, indent=2)
print(f"Résumé complet sauvegardé ({len(summary)} runs)")
Analyse: Gian Stragiotti.csv et Karl Maeder.csv dans ../Data_Sailnjord/Straight_lines\06_06\06_06_Run1
Analyse: Gian Stragiotti.csv et Karl Maeder.csv dans ../Data_Sailnjord/Straight_lines\06_06\06_06_Run2
Analyse: Gian Stragiotti.csv et Karl Maeder.csv dans ../Data_Sailnjord/Straight_lines\06_06\06_06_Run3
Analyse: Gian Stragiotti.csv et Karl Maeder.csv dans ../Data_Sailnjord/Straight_lines\06_06\06_06_Run4
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\06_06\06_06_Run5
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\06_06\06_06_Run6
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\06_06\06_06_Run7
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\06_06\06_06_Run8
Ignoré: ../Data_Sailnjord/Straight_lines\06_06\Interview and equipment (attendu 2 CSV, trouvé 0) Ignoré: ../Data_Sailnjord/Straight_lines\06_06\senseboard_log (attendu 2 CSV, trouvé 0) Analyse: Gian Stragiotti.csv et Karl Maeder.csv dans ../Data_Sailnjord/Straight_lines\07_06\07_06_Run1
Analyse: Gian Stragiotti.csv et Karl Maeder.csv dans ../Data_Sailnjord/Straight_lines\07_06\07_06_Run2
Analyse: Gian Stragiotti.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\07_06\07_06_Run3
Analyse: Gian Stragiotti.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\07_06\07_06_Run4
Analyse: Gian Stragiotti.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\07_06\07_06_Run5
Analyse: Gian Stragiotti.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\07_06\07_06_Run6
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\07_06\07_06_Run7
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\07_06\07_06_Run8
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\07_06\07_06_Run9
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\07_06\07_06_Run10
Ignoré: ../Data_Sailnjord/Straight_lines\07_06\Interview and equipment (attendu 2 CSV, trouvé 0) Ignoré: ../Data_Sailnjord/Straight_lines\07_06\senseboard_log (attendu 2 CSV, trouvé 0) Analyse: Gian Stragiotti.csv et Karl Maeder.csv dans ../Data_Sailnjord/Straight_lines\09_06\09_06_Run1
Analyse: Gian Stragiotti.csv et Karl Maeder.csv dans ../Data_Sailnjord/Straight_lines\09_06\09_06_Run2
Ignoré: ../Data_Sailnjord/Straight_lines\09_06\09_06_Run3 (attendu 2 CSV, trouvé 1) Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\09_06\09_06_Run4
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\09_06\09_06_Run5
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\09_06\09_06_Run6
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\09_06\09_06_Run7
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\09_06\09_06_Run8
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\09_06\09_06_Run9
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\09_06\09_06_Run10
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\09_06\09_06_Run11
Ignoré: ../Data_Sailnjord/Straight_lines\09_06\Interview and equipment (attendu 2 CSV, trouvé 0) Ignoré: ../Data_Sailnjord/Straight_lines\09_06\senseboard_log (attendu 2 CSV, trouvé 0) Analyse: Gian Stragiotti.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\10_06\10_06_Run1
Analyse: Gian Stragiotti.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\10_06\10_06_Run2
Analyse: Gian Stragiotti.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\10_06\10_06_Run3
Analyse: Gian Stragiotti.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\10_06\10_06_Run4
Analyse: Gian Stragiotti.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\10_06\10_06_Run5
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\10_06\10_06_Run6
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\10_06\10_06_Run7
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\10_06\10_06_Run8
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\10_06\10_06_Run9
Analyse: Karl Maeder.csv et SenseBoard.csv dans ../Data_Sailnjord/Straight_lines\10_06\10_06_Run10
Ignoré: ../Data_Sailnjord/Straight_lines\10_06\Interview and equipment (attendu 2 CSV, trouvé 0) Ignoré: ../Data_Sailnjord/Straight_lines\10_06\senseboard_log (attendu 2 CSV, trouvé 0) Résumé complet sauvegardé (38 runs)
In [2]:
print(json.dumps(summary, indent=2))
[
{
"run": "06_06_Run1",
"intervals": [
{
"start_time": 1749217691.163,
"end_time": 1749217774.756,
"duration": 83.59299993515015,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 20.437873357228195,
"avg_SOG_boat2": 20.159856630824375,
"SOG_variation_boat1": 0.9060069436977556,
"SOG_variation_boat2": 0.6152285750161369,
"stability_score": 0.9676324199379018,
"avg TWA boat1": 48.330488649940264,
"avg TWA boat2": 48.517577751196164
},
{
"start_time": 1749217898.756,
"end_time": 1749217961.048,
"duration": 62.29200005531311,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 26.308173076923076,
"avg_SOG_boat2": 25.258974358974363,
"SOG_variation_boat1": 0.9516972397395702,
"SOG_variation_boat2": 1.0361443403525072,
"stability_score": 0.9568326026425789,
"avg TWA boat1": -127.84945833333335,
"avg TWA boat2": -123.79282664526484
}
]
},
{
"run": "06_06_Run2",
"intervals": [
{
"start_time": 1749218414.957,
"end_time": 1749218497.944,
"duration": 82.98699998855591,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 20.580144404332128,
"avg_SOG_boat2": 19.964981949458487,
"SOG_variation_boat1": 0.9186044828922484,
"SOG_variation_boat2": 0.8717597316888797,
"stability_score": 0.9655042043463251,
"avg TWA boat1": 58.89826233453671,
"avg TWA boat2": 60.07042340168877
},
{
"start_time": 1749218687.453,
"end_time": 1749218760.858,
"duration": 73.40499997138977,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 23.9421768707483,
"avg_SOG_boat2": 23.076734693877555,
"SOG_variation_boat1": 0.8062025534752273,
"SOG_variation_boat2": 0.6564624907211762,
"stability_score": 0.9693254072977828,
"avg TWA boat1": -126.20847482993196,
"avg TWA boat2": -122.11107220708448
}
]
},
{
"run": "06_06_Run3",
"intervals": [
{
"start_time": 1749219088.156,
"end_time": 1749219170.846,
"duration": 82.69000005722046,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 21.063164251207727,
"avg_SOG_boat2": 20.359541062801927,
"SOG_variation_boat1": 0.49000470059418433,
"SOG_variation_boat2": 0.6792614824590278,
"stability_score": 0.9702963955551277,
"avg TWA boat1": 52.54139975845411,
"avg TWA boat2": 52.82867917675545
},
{
"start_time": 1749219294.36,
"end_time": 1749219357.356,
"duration": 62.99600005149841,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 25.69017432646593,
"avg_SOG_boat2": 24.954992076069733,
"SOG_variation_boat1": 0.9379808445806027,
"SOG_variation_boat2": 0.7911030825617474,
"stability_score": 0.9544882981127863,
"avg TWA boat1": -143.14596038034864,
"avg TWA boat2": -139.84990634920635
}
]
},
{
"run": "06_06_Run4",
"intervals": [
{
"start_time": 1749219598.357,
"end_time": 1749219672.165,
"duration": 73.80799984931946,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 20.830446549391066,
"avg_SOG_boat2": 19.742625169147495,
"SOG_variation_boat1": 0.7122666523594098,
"SOG_variation_boat2": 0.7265832233472408,
"stability_score": 0.9631675127350817,
"avg TWA boat1": 52.66727198917456,
"avg TWA boat2": 52.53241598915989
},
{
"start_time": 1749219850.357,
"end_time": 1749219909.859,
"duration": 59.501999855041504,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 25.710234899328857,
"avg_SOG_boat2": 25.048657718120804,
"SOG_variation_boat1": 1.2440294837720993,
"SOG_variation_boat2": 0.9417567404996181,
"stability_score": 0.9548481156683271,
"avg TWA boat1": -149.82159731543624,
"avg TWA boat2": -149.42426890756303
}
]
},
{
"run": "06_06_Run5",
"intervals": [
{
"start_time": 1749220730.46,
"end_time": 1749220811.654,
"duration": 81.19400000572205,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 21.45227552275523,
"avg_SOG_boat2": 21.483148831488318,
"SOG_variation_boat1": 0.5502890980942721,
"SOG_variation_boat2": 0.5485079840896449,
"stability_score": 0.9628159995384037,
"avg TWA boat1": 48.68512300123002,
"avg TWA boat2": 48.25772996300863
},
{
"start_time": 1749220933.563,
"end_time": 1749220975.854,
"duration": 42.29100012779236,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.419575471698113,
"avg_SOG_boat2": 26.722169811320757,
"SOG_variation_boat1": 0.5526799602831597,
"SOG_variation_boat2": 0.7248894980165709,
"stability_score": 0.962807102252274,
"avg TWA boat1": -152.95215094339622,
"avg TWA boat2": -152.49173459715638
}
]
},
{
"run": "06_06_Run6",
"intervals": [
{
"start_time": 1749221351.961,
"end_time": 1749221423.255,
"duration": 71.2940001487732,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 21.702941176470592,
"avg_SOG_boat2": 22.300560224089637,
"SOG_variation_boat1": 0.6024771486351213,
"SOG_variation_boat2": 0.5333213508461789,
"stability_score": 0.9690295257499035,
"avg TWA boat1": 46.08574509803922,
"avg TWA boat2": 45.63624157303371
},
{
"start_time": 1749221546.368,
"end_time": 1749221601.952,
"duration": 55.58399987220764,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.98312387791741,
"avg_SOG_boat2": 27.60682226211849,
"SOG_variation_boat1": 1.1345469133779522,
"SOG_variation_boat2": 0.95609938547161,
"stability_score": 0.9421958135106284,
"avg TWA boat1": -144.59948473967685,
"avg TWA boat2": -145.07276936936935
}
]
},
{
"run": "06_06_Run7",
"intervals": [
{
"start_time": 1749221873.364,
"end_time": 1749221950.56,
"duration": 77.19599986076355,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 21.420957309184995,
"avg_SOG_boat2": 21.57464424320828,
"SOG_variation_boat1": 0.8433990042082609,
"SOG_variation_boat2": 0.7266066949019068,
"stability_score": 0.9643827859484259,
"avg TWA boat1": 48.42436351875809,
"avg TWA boat2": 47.25475518134715
},
{
"start_time": 1749222066.453,
"end_time": 1749222107.762,
"duration": 41.30900001525879,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 27.19396135265701,
"avg_SOG_boat2": 28.07246376811594,
"SOG_variation_boat1": 0.6062525372636404,
"SOG_variation_boat2": 0.6829045058127635,
"stability_score": 0.9661079805234971,
"avg TWA boat1": -149.69734541062803,
"avg TWA boat2": -148.5991231884058
}
]
},
{
"run": "06_06_Run8",
"intervals": [
{
"start_time": 1749222372.562,
"end_time": 1749222433.253,
"duration": 60.69099998474121,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.20378289473684,
"avg_SOG_boat2": 22.531743421052635,
"SOG_variation_boat1": 0.5939859207419921,
"SOG_variation_boat2": 0.7305042739030235,
"stability_score": 0.9676355493012209,
"avg TWA boat1": 51.7811052631579,
"avg TWA boat2": 51.41245709570957
},
{
"start_time": 1749222550.76,
"end_time": 1749222589.053,
"duration": 38.29299998283386,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 27.988020833333337,
"avg_SOG_boat2": 28.154947916666668,
"SOG_variation_boat1": 0.9550264111740758,
"SOG_variation_boat2": 0.7404229243755341,
"stability_score": 0.9486132309964281,
"avg TWA boat1": -156.70291927083335,
"avg TWA boat2": -155.94574083769635
}
]
},
{
"run": "07_06_Run1",
"intervals": [
{
"start_time": 1749296977.156,
"end_time": 1749297042.555,
"duration": 65.39900016784668,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 21.907786259541986,
"avg_SOG_boat2": 21.809618320610685,
"SOG_variation_boat1": 0.8742758384554244,
"SOG_variation_boat2": 1.0122411358441399,
"stability_score": 0.9599531391568393,
"avg TWA boat1": 49.980738931297715,
"avg TWA boat2": 50.378325688073396
},
{
"start_time": 1749297154.257,
"end_time": 1749297201.36,
"duration": 47.1029999256134,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 27.995974576271188,
"avg_SOG_boat2": 27.388771186440678,
"SOG_variation_boat1": 0.4785025112578562,
"SOG_variation_boat2": 0.44908609081104717,
"stability_score": 0.9647004339495513,
"avg TWA boat1": -143.7616779661017,
"avg TWA boat2": -143.34568008474577
}
]
},
{
"run": "07_06_Run2",
"intervals": [
{
"start_time": 1749297512.857,
"end_time": 1749297579.456,
"duration": 66.59899997711182,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 22.735232383808096,
"avg_SOG_boat2": 22.480509745127435,
"SOG_variation_boat1": 0.6087969219394326,
"SOG_variation_boat2": 0.517104764402101,
"stability_score": 0.9718302241349652,
"avg TWA boat1": 48.030664167916036,
"avg TWA boat2": 48.998265765765765
},
{
"start_time": 1749297696.957,
"end_time": 1749297745.558,
"duration": 48.6010000705719,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 27.1694045174538,
"avg_SOG_boat2": 26.0905544147844,
"SOG_variation_boat1": 0.7945210106979272,
"SOG_variation_boat2": 1.1674746323131255,
"stability_score": 0.9547757384676734,
"avg TWA boat1": -151.40243531827517,
"avg TWA boat2": -151.13577572016462
}
]
},
{
"run": "07_06_Run3",
"intervals": [
{
"start_time": 1749298482.161,
"end_time": 1749298544.164,
"duration": 62.003000020980835,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.3768115942029,
"avg_SOG_boat2": 22.30998389694042,
"SOG_variation_boat1": 0.8131639589427351,
"SOG_variation_boat2": 0.5512421454915069,
"stability_score": 0.9617234182036005,
"avg TWA boat1": 43.432024154589364,
"avg TWA boat2": 44.034191935483875
},
{
"start_time": 1749298672.858,
"end_time": 1749298715.364,
"duration": 42.50600004196167,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.421361502347416,
"avg_SOG_boat2": 25.72840375586854,
"SOG_variation_boat1": 1.272584780791708,
"SOG_variation_boat2": 0.8302888435095636,
"stability_score": 0.948748627453864,
"avg TWA boat1": -154.05993896713616,
"avg TWA boat2": -153.6456282352941
}
]
},
{
"run": "07_06_Run4",
"intervals": [
{
"start_time": 1749299201.16,
"end_time": 1749299256.957,
"duration": 55.79699993133545,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.56815742397138,
"avg_SOG_boat2": 22.151520572450806,
"SOG_variation_boat1": 0.401282000581243,
"SOG_variation_boat2": 0.40488993042407406,
"stability_score": 0.9734072238703372,
"avg TWA boat1": 44.10475134168158,
"avg TWA boat2": 44.21044623655914
}
]
},
{
"run": "07_06_Run5",
"intervals": [
{
"start_time": 1749299757.058,
"end_time": 1749299823.864,
"duration": 66.80599999427795,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 21.772496263079223,
"avg_SOG_boat2": 22.079073243647233,
"SOG_variation_boat1": 0.8300439451975229,
"SOG_variation_boat2": 0.7481384336369988,
"stability_score": 0.9534171638142162,
"avg TWA boat1": 37.39404484304933,
"avg TWA boat2": 37.37355455904335
},
{
"start_time": 1749299957.076,
"end_time": 1749300002.263,
"duration": 45.187000036239624,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.671302428256066,
"avg_SOG_boat2": 26.09359823399559,
"SOG_variation_boat1": 0.7701955440236677,
"SOG_variation_boat2": 0.778771773625049,
"stability_score": 0.9616737321092284,
"avg TWA boat1": -145.96590286975717,
"avg TWA boat2": -142.77557522123894
}
]
},
{
"run": "07_06_Run6",
"intervals": [
{
"start_time": 1749300406.267,
"end_time": 1749300463.756,
"duration": 57.48900008201599,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 23.195833333333333,
"avg_SOG_boat2": 22.960416666666667,
"SOG_variation_boat1": 0.6888301361886973,
"SOG_variation_boat2": 0.7760294705295894,
"stability_score": 0.9581830675524912,
"avg TWA boat1": 53.60065277777778,
"avg TWA boat2": 53.41760173913043
},
{
"start_time": 1749300594.157,
"end_time": 1749300632.26,
"duration": 38.1029999256134,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 28.251832460732984,
"avg_SOG_boat2": 26.881937172774872,
"SOG_variation_boat1": 0.5685403267056057,
"SOG_variation_boat2": 0.7157496418777685,
"stability_score": 0.9717130279723044,
"avg TWA boat1": -141.94490314136124,
"avg TWA boat2": -142.37469473684212
}
]
},
{
"run": "07_06_Run7",
"intervals": [
{
"start_time": 1749301208.552,
"end_time": 1749301276.356,
"duration": 67.80399990081787,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 21.933873343151696,
"avg_SOG_boat2": 21.935493372606775,
"SOG_variation_boat1": 1.0445256316356346,
"SOG_variation_boat2": 0.7177630459613766,
"stability_score": 0.9623063604159979,
"avg TWA boat1": 48.16938733431517,
"avg TWA boat2": 47.540169616519165
},
{
"start_time": 1749301415.658,
"end_time": 1749301457.157,
"duration": 41.49900007247925,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.33076923076923,
"avg_SOG_boat2": 26.25721153846154,
"SOG_variation_boat1": 0.6994768334928197,
"SOG_variation_boat2": 0.8057898398385431,
"stability_score": 0.9490600930144912,
"avg TWA boat1": -143.46581009615386,
"avg TWA boat2": -142.24757004830917
}
]
},
{
"run": "07_06_Run8",
"intervals": [
{
"start_time": 1749301739.076,
"end_time": 1749301801.155,
"duration": 62.0789999961853,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.524919614147908,
"avg_SOG_boat2": 22.74951768488746,
"SOG_variation_boat1": 0.5330671829582392,
"SOG_variation_boat2": 0.5809299769964135,
"stability_score": 0.9655864159321811,
"avg TWA boat1": 41.97196784565916,
"avg TWA boat2": 41.890666129032255
},
{
"start_time": 1749301914.859,
"end_time": 1749301961.953,
"duration": 47.09400010108948,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 27.379025423728816,
"avg_SOG_boat2": 27.6625,
"SOG_variation_boat1": 0.8091860497107752,
"SOG_variation_boat2": 0.8184785351654248,
"stability_score": 0.9616375431561365,
"avg TWA boat1": -148.05330720338983,
"avg TWA boat2": -147.50978510638302
}
]
},
{
"run": "07_06_Run9",
"intervals": [
{
"start_time": 1749302229.658,
"end_time": 1749302292.46,
"duration": 62.80200004577637,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.486645468998407,
"avg_SOG_boat2": 22.53608903020668,
"SOG_variation_boat1": 0.6218267494031011,
"SOG_variation_boat2": 0.4460205841525167,
"stability_score": 0.9670551969484428,
"avg TWA boat1": 37.2340906200318,
"avg TWA boat2": 37.22738155802862
},
{
"start_time": 1749302396.448,
"end_time": 1749302440.459,
"duration": 44.01100015640259,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 28.447392290249432,
"avg_SOG_boat2": 28.581179138321993,
"SOG_variation_boat1": 0.6630842211928816,
"SOG_variation_boat2": 0.7550342961025506,
"stability_score": 0.9651754089517661,
"avg TWA boat1": -147.36239002267575,
"avg TWA boat2": -146.5883696145125
}
]
},
{
"run": "07_06_Run10",
"intervals": [
{
"start_time": 1749302815.46,
"end_time": 1749302871.359,
"duration": 55.8989999294281,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.64982142857143,
"avg_SOG_boat2": 23.46178571428571,
"SOG_variation_boat1": 0.7167058190253439,
"SOG_variation_boat2": 0.5893542967471275,
"stability_score": 0.9661678089021432,
"avg TWA boat1": 45.73300892857143,
"avg TWA boat2": 44.74569767441861
}
]
},
{
"run": "09_06_Run1",
"intervals": [
{
"start_time": 1749470010.46,
"end_time": 1749470042.542,
"duration": 32.08200001716614,
"boat1_name": "Gian Stragiotti",
"boat2_name": "Karl Maeder",
"avg_SOG_boat1": 22.93416149068323,
"avg_SOG_boat2": 22.669875776397518,
"SOG_variation_boat1": 0.48260786763356933,
"SOG_variation_boat2": 0.466035827614264,
"stability_score": 0.9512635432915371,
"avg TWA boat1": 44.21146894409938,
"avg TWA boat2": 45.016159375
}
]
},
{
"run": "09_06_Run2",
"intervals": []
},
{
"run": "09_06_Run4",
"intervals": [
{
"start_time": 1749472118.849,
"end_time": 1749472181.65,
"duration": 62.801000118255615,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 23.74006359300477,
"avg_SOG_boat2": 24.408267090620033,
"SOG_variation_boat1": 0.32204164944144703,
"SOG_variation_boat2": 0.4157278383213897,
"stability_score": 0.9756446070411259,
"avg TWA boat1": 49.306181240063594,
"avg TWA boat2": 49.00578980891719
},
{
"start_time": 1749472268.356,
"end_time": 1749472312.65,
"duration": 44.29400014877319,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 27.6213963963964,
"avg_SOG_boat2": 28.11644144144144,
"SOG_variation_boat1": 0.849627104813067,
"SOG_variation_boat2": 0.5257048959698549,
"stability_score": 0.9623474927915108,
"avg TWA boat1": -134.64182882882884,
"avg TWA boat2": -134.72823702031604
}
]
},
{
"run": "09_06_Run5",
"intervals": [
{
"start_time": 1749472664.452,
"end_time": 1749472733.165,
"duration": 68.71300005912781,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.652034883720933,
"avg_SOG_boat2": 22.781976744186046,
"SOG_variation_boat1": 0.46256853800013753,
"SOG_variation_boat2": 0.821700327894289,
"stability_score": 0.9586871555224339,
"avg TWA boat1": 48.7127398255814,
"avg TWA boat2": 48.23567103347889
}
]
},
{
"run": "09_06_Run6",
"intervals": [
{
"start_time": 1749473152.452,
"end_time": 1749473220.452,
"duration": 68.0,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 23.03303964757709,
"avg_SOG_boat2": 23.575477239353894,
"SOG_variation_boat1": 0.5131314014854907,
"SOG_variation_boat2": 0.47743257900555647,
"stability_score": 0.9744204774376893,
"avg TWA boat1": 48.00279735682819,
"avg TWA boat2": 47.65900294117647
},
{
"start_time": 1749473314.961,
"end_time": 1749473362.253,
"duration": 47.29200005531311,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.858227848101265,
"avg_SOG_boat2": 27.347257383966245,
"SOG_variation_boat1": 0.9562666476793272,
"SOG_variation_boat2": 0.9439934006012783,
"stability_score": 0.947487140959874,
"avg TWA boat1": -137.5699430379747,
"avg TWA boat2": -137.814531779661
}
]
},
{
"run": "09_06_Run7",
"intervals": [
{
"start_time": 1749473644.561,
"end_time": 1749473713.441,
"duration": 68.87999987602234,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.484492753623186,
"avg_SOG_boat2": 22.590289855072463,
"SOG_variation_boat1": 0.5271773185574329,
"SOG_variation_boat2": 0.481809816843384,
"stability_score": 0.9725206272449781,
"avg TWA boat1": 49.11989275362319,
"avg TWA boat2": 47.80012354651163
},
{
"start_time": 1749473793.36,
"end_time": 1749473827.653,
"duration": 34.29300022125244,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 27.270639534883717,
"avg_SOG_boat2": 27.467441860465115,
"SOG_variation_boat1": 0.3075979509419556,
"SOG_variation_boat2": 0.4363757068660953,
"stability_score": 0.9731867204076343,
"avg TWA boat1": -142.399125,
"avg TWA boat2": -141.92563450292397
}
]
},
{
"run": "09_06_Run8",
"intervals": [
{
"start_time": 1749474326.852,
"end_time": 1749474388.641,
"duration": 61.789000034332275,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.98788368336026,
"avg_SOG_boat2": 23.934894991922455,
"SOG_variation_boat1": 0.8467710683012128,
"SOG_variation_boat2": 0.5286703541190796,
"stability_score": 0.9622994570570873,
"avg TWA boat1": 56.368471728594514,
"avg TWA boat2": 56.132697411003235
},
{
"start_time": 1749474493.854,
"end_time": 1749474541.045,
"duration": 47.19099998474121,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.936997885835094,
"avg_SOG_boat2": 28.12811839323467,
"SOG_variation_boat1": 0.7666824539305778,
"SOG_variation_boat2": 0.6466930633281409,
"stability_score": 0.9627796173107166,
"avg TWA boat1": -142.5215644820296,
"avg TWA boat2": -142.49367940552017
}
]
},
{
"run": "09_06_Run9",
"intervals": [
{
"start_time": 1749474938.364,
"end_time": 1749475007.056,
"duration": 68.69199991226196,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.307558139534883,
"avg_SOG_boat2": 22.687063953488373,
"SOG_variation_boat1": 0.5431600589134501,
"SOG_variation_boat2": 0.6840614956417097,
"stability_score": 0.9646825750124971,
"avg TWA boat1": 41.60781976744186,
"avg TWA boat2": 41.441870451237264
},
{
"start_time": 1749475120.453,
"end_time": 1749475174.256,
"duration": 53.80299997329712,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.241558441558443,
"avg_SOG_boat2": 26.94601113172542,
"SOG_variation_boat1": 1.0217059599533802,
"SOG_variation_boat2": 0.9318197050401614,
"stability_score": 0.9458172931147468,
"avg TWA boat1": -141.57092949907235,
"avg TWA boat2": -141.8663840445269
}
]
},
{
"run": "09_06_Run10",
"intervals": [
{
"start_time": 1749475477.855,
"end_time": 1749475539.06,
"duration": 61.204999923706055,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 23.155464926590536,
"avg_SOG_boat2": 23.533442088091356,
"SOG_variation_boat1": 0.4172626962395209,
"SOG_variation_boat2": 0.4660087049211628,
"stability_score": 0.9685558287592516,
"avg TWA boat1": 53.63761990212071,
"avg TWA boat2": 53.313418300653595
},
{
"start_time": 1749475654.454,
"end_time": 1749475704.256,
"duration": 49.80200004577637,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.750901803607217,
"avg_SOG_boat2": 27.055511022044087,
"SOG_variation_boat1": 0.5265769855048806,
"SOG_variation_boat2": 0.556149167909675,
"stability_score": 0.967040276958964,
"avg TWA boat1": -141.5574108216433,
"avg TWA boat2": -141.35800401606423
}
]
},
{
"run": "09_06_Run11",
"intervals": [
{
"start_time": 1749476052.564,
"end_time": 1749476119.654,
"duration": 67.09000015258789,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.59032738095238,
"avg_SOG_boat2": 22.65357142857143,
"SOG_variation_boat1": 0.6936663946225158,
"SOG_variation_boat2": 0.6433790136832493,
"stability_score": 0.957127357613573,
"avg TWA boat1": 52.5763244047619,
"avg TWA boat2": 52.12876154992549
},
{
"start_time": 1749476236.256,
"end_time": 1749476288.852,
"duration": 52.59599995613098,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 25.45749525616698,
"avg_SOG_boat2": 25.68709677419355,
"SOG_variation_boat1": 0.595943023245209,
"SOG_variation_boat2": 1.301806479623148,
"stability_score": 0.9622185408950876,
"avg TWA boat1": -143.12540796963947,
"avg TWA boat2": -144.06554562737642
}
]
},
{
"run": "10_06_Run1",
"intervals": [
{
"start_time": 1749558508.753,
"end_time": 1749558582.059,
"duration": 73.30599999427795,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 21.688283378746593,
"avg_SOG_boat2": 21.445367847411443,
"SOG_variation_boat1": 0.653690579620312,
"SOG_variation_boat2": 0.34356141868005996,
"stability_score": 0.9696679129386098,
"avg TWA boat1": 52.140115803814716,
"avg TWA boat2": 52.74440927694407
},
{
"start_time": 1749558678.071,
"end_time": 1749558732.858,
"duration": 54.78699994087219,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.093624772313298,
"avg_SOG_boat2": 25.469581056466303,
"SOG_variation_boat1": 0.3462723462527339,
"SOG_variation_boat2": 0.42120353204467675,
"stability_score": 0.9730459562174268,
"avg TWA boat1": -124.37445901639343,
"avg TWA boat2": -125.1762262773723
}
]
},
{
"run": "10_06_Run2",
"intervals": [
{
"start_time": 1749558992.654,
"end_time": 1749559054.755,
"duration": 62.1010000705719,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.768167202572346,
"avg_SOG_boat2": 22.051125401929262,
"SOG_variation_boat1": 0.7741700772777428,
"SOG_variation_boat2": 0.6155188589560149,
"stability_score": 0.9661567984326258,
"avg TWA boat1": 52.30156270096463,
"avg TWA boat2": 52.145245980707394
},
{
"start_time": 1749559167.753,
"end_time": 1749559222.144,
"duration": 54.39100003242493,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 25.846055045871555,
"avg_SOG_boat2": 25.106972477064218,
"SOG_variation_boat1": 0.7194692927018169,
"SOG_variation_boat2": 0.7702815382301164,
"stability_score": 0.9627767974222723,
"avg TWA boat1": -127.73065321100918,
"avg TWA boat2": -127.0197661141805
}
]
},
{
"run": "10_06_Run3",
"intervals": [
{
"start_time": 1749559443.953,
"end_time": 1749559513.154,
"duration": 69.20099997520447,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.099278499278498,
"avg_SOG_boat2": 22.045021645021645,
"SOG_variation_boat1": 0.7148200380354032,
"SOG_variation_boat2": 0.5779364885443138,
"stability_score": 0.9637924299775269,
"avg TWA boat1": 49.995786435786435,
"avg TWA boat2": 50.876849710982654
},
{
"start_time": 1749559627.953,
"end_time": 1749559676.354,
"duration": 48.401000022888184,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 27.7280412371134,
"avg_SOG_boat2": 26.803505154639176,
"SOG_variation_boat1": 0.48782414350891035,
"SOG_variation_boat2": 0.5967613024843319,
"stability_score": 0.970534801199097,
"avg TWA boat1": -133.17295463917526,
"avg TWA boat2": -132.24709917355372
}
]
},
{
"run": "10_06_Run4",
"intervals": [
{
"start_time": 1749560154.753,
"end_time": 1749560208.072,
"duration": 53.319000005722046,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.68239700374532,
"avg_SOG_boat2": 25.471910112359552,
"SOG_variation_boat1": 0.3954585811078938,
"SOG_variation_boat2": 0.4432496653425174,
"stability_score": 0.9735561698878598,
"avg TWA boat1": -135.37653558052435,
"avg TWA boat2": -135.27015759849908
},
{
"start_time": 1749559968.055,
"end_time": 1749560020.046,
"duration": 51.990999937057495,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 23.940882917466407,
"avg_SOG_boat2": 23.243186180422267,
"SOG_variation_boat1": 0.253889716586543,
"SOG_variation_boat2": 0.2897555698691407,
"stability_score": 0.973918519280143,
"avg TWA boat1": 55.89349328214971,
"avg TWA boat2": 54.93533461538461
}
]
},
{
"run": "10_06_Run5",
"intervals": [
{
"start_time": 1749560536.155,
"end_time": 1749560597.354,
"duration": 61.199000120162964,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.025285481239806,
"avg_SOG_boat2": 22.11337683523654,
"SOG_variation_boat1": 0.5005847480056898,
"SOG_variation_boat2": 0.44646452469984443,
"stability_score": 0.9663098809174583,
"avg TWA boat1": 53.364595432300156,
"avg TWA boat2": 53.518686274509804
},
{
"start_time": 1749560724.157,
"end_time": 1749560771.956,
"duration": 47.79900002479553,
"boat1_name": "Gian Stragiotti",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 27.096033402922757,
"avg_SOG_boat2": 26.642797494780798,
"SOG_variation_boat1": 0.661275652373244,
"SOG_variation_boat2": 0.6862557608982934,
"stability_score": 0.9616481492402572,
"avg TWA boat1": -138.87261169102297,
"avg TWA boat2": -138.84397703549064
}
]
},
{
"run": "10_06_Run6",
"intervals": [
{
"start_time": 1749561187.052,
"end_time": 1749561246.953,
"duration": 59.901000022888184,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 23.192,
"avg_SOG_boat2": 23.586166666666667,
"SOG_variation_boat1": 0.4758642081248499,
"SOG_variation_boat2": 0.45044067336619736,
"stability_score": 0.9621821189963834,
"avg TWA boat1": 50.299209999999995,
"avg TWA boat2": 51.89534557595993
},
{
"start_time": 1749561363.049,
"end_time": 1749561405.263,
"duration": 42.21399998664856,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 27.282269503546107,
"avg_SOG_boat2": 26.92482269503546,
"SOG_variation_boat1": 0.433373795501071,
"SOG_variation_boat2": 0.6449390318040755,
"stability_score": 0.9674756220226159,
"avg TWA boat1": -139.59860047281325,
"avg TWA boat2": -138.77927251184835
}
]
},
{
"run": "10_06_Run7",
"intervals": [
{
"start_time": 1749561744.755,
"end_time": 1749561812.555,
"duration": 67.79999995231628,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.583210603829162,
"avg_SOG_boat2": 22.736082474226805,
"SOG_variation_boat1": 0.4064534734530918,
"SOG_variation_boat2": 0.47771268469360634,
"stability_score": 0.9673413662267509,
"avg TWA boat1": 52.990904270986746,
"avg TWA boat2": 52.44766371681416
},
{
"start_time": 1749561924.157,
"end_time": 1749561975.263,
"duration": 51.10599994659424,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 27.2220703125,
"avg_SOG_boat2": 27.58359375,
"SOG_variation_boat1": 0.5013496568388439,
"SOG_variation_boat2": 0.48395425116547436,
"stability_score": 0.9756249057051376,
"avg TWA boat1": -140.14205468749998,
"avg TWA boat2": -140.84758984375
}
]
},
{
"run": "10_06_Run8",
"intervals": [
{
"start_time": 1749562365.356,
"end_time": 1749562427.954,
"duration": 62.598000049591064,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.51658692185008,
"avg_SOG_boat2": 23.037958532695374,
"SOG_variation_boat1": 0.5122266995322216,
"SOG_variation_boat2": 0.3443208505420073,
"stability_score": 0.9738003608627106,
"avg TWA boat1": 46.96074481658692,
"avg TWA boat2": 46.02180990415335
},
{
"start_time": 1749562537.657,
"end_time": 1749562585.552,
"duration": 47.894999980926514,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 27.33354166666667,
"avg_SOG_boat2": 27.5,
"SOG_variation_boat1": 0.5399102592381619,
"SOG_variation_boat2": 0.4688635040032667,
"stability_score": 0.967918113005577,
"avg TWA boat1": -141.74818333333332,
"avg TWA boat2": -141.80634728033473
}
]
},
{
"run": "10_06_Run9",
"intervals": [
{
"start_time": 1749562781.26,
"end_time": 1749562847.457,
"duration": 66.19700002670288,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 22.90346907993967,
"avg_SOG_boat2": 23.240422322775263,
"SOG_variation_boat1": 0.5458190734121626,
"SOG_variation_boat2": 0.5352480320516277,
"stability_score": 0.9665584620353262,
"avg TWA boat1": 48.43236500754148,
"avg TWA boat2": 48.93901812688822
},
{
"start_time": 1749562948.459,
"end_time": 1749562995.342,
"duration": 46.882999897003174,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 26.97276595744681,
"avg_SOG_boat2": 27.57255319148936,
"SOG_variation_boat1": 0.6785337953400632,
"SOG_variation_boat2": 0.48984557892715896,
"stability_score": 0.9723012641797767,
"avg TWA boat1": -141.96290425531916,
"avg TWA boat2": -142.04973931623934
}
]
},
{
"run": "10_06_Run10",
"intervals": [
{
"start_time": 1749563342.953,
"end_time": 1749563410.858,
"duration": 67.90499997138977,
"boat1_name": "Karl Maeder",
"boat2_name": "SenseBoard",
"avg_SOG_boat1": 23.015,
"avg_SOG_boat2": 23.117941176470588,
"SOG_variation_boat1": 0.43262904891108317,
"SOG_variation_boat2": 0.5455417348453856,
"stability_score": 0.9576695119047643,
"avg TWA boat1": 51.58674705882353,
"avg TWA boat2": 51.04122941176472
}
]
}
]
In [ ]: